package com.ibm.db2oncampus.portal.usuario.domain;

import java.util.Date;

import com.ibm.db2oncampus.portal.framework.domain.DomainObject;

/**
 * 
 * @author Wellington
 *
 */
public abstract class Experience implements DomainObject {

	private Long experienceId;
	private String institutionName;
	private Date startDate;
	private Date endDate;
	private Person person;
	private boolean isEnteredExperience;
	
	public Experience() {
	}

	public Long getExperienceId() {
		return experienceId;
	}

	public void setExperienceId(Long experienceId) {
		this.experienceId = experienceId;
	}

	public String getInstitutionName() {
		return institutionName;
	}
	
	public void setInstitutionName(String institutionName) {
		this.institutionName = institutionName;
	}
	
	public Date getStartDate() {
		return startDate;
	}
	
	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}
	
	public Date getEndDate() {
		return endDate;
	}
	
	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	
	public Person getPerson() {
		return person;
	}
	
	public void setPerson(Person person) {
		this.person = person;
	}
	
	public boolean isEnteredExperience() {
		return isEnteredExperience;
	}

	public void setEnteredExperience(boolean isEnteredExperience) {
		this.isEnteredExperience = isEnteredExperience;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((experienceId == null) ? 0 : experienceId.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		final Experience other = (Experience) obj;
		if (experienceId == null) {
			if (other.experienceId != null)
				return false;
		} else if (!experienceId.equals(other.experienceId))
			return false;
		return true;
	}
	
}
